add back inode to directory special remote ContentIdentifier
authorJoey Hess <joeyh@joeyh.name>
Mon, 21 Mar 2022 17:12:02 +0000 (13:12 -0400)
committerJoey Hess <joeyh@joeyh.name>
Mon, 21 Mar 2022 17:12:02 +0000 (13:12 -0400)
commit3e2f1f73cbc5fc10475745b3c3133267bd1850a7
tree96dc7651657333fb89a0fab17bf79a5b208be5f2
parentd219626794950e7c948422d072513d9ee1b5bfa9
add back inode to directory special remote ContentIdentifier

Directory special remotes with importtree=yes have changed to once more
take inodes into account. This will cause extra work when importing from a
directory on a FAT filesystem that changes inodes on every mount.

To avoid that extra work, set ignoreinodes=yes when initializing a new
directory special remote, or change the configuration of your existing
remote: git-annex enableremote foo ignoreinodes=yes

This will mean a one-time re-import of all contents from every directory
special remote due to the changed setting.

73df633a6215faa093e4a7524c6d328aa988aed1 thought
it was too unlikely that there would be modifications that the inode number
was needed to notice. That was probably right; it's very unlikely that a
file will get modified and end up with the same size and mtime as before.
But, what was not considered is that a program like NextCloud might write
two files with different content so closely together that they share the
mtime. The inode is necessary to detect that situation.

Sponsored-by: Max Thoursie on Patreon
CHANGELOG
Remote/Directory.hs
doc/bugs/importtree_replaces_files_with_identical_size.mdwn
doc/bugs/importtree_replaces_files_with_identical_size/comment_1_2742c2cbde12aa85b8254dd6907fcfc1._comment [new file with mode: 0644]
doc/bugs/importtree_replaces_files_with_identical_size/comment_2_46336dc995a7cefb8ebbfe98f098e258._comment [new file with mode: 0644]
doc/special_remotes/directory.mdwn